package com.lyf.service;

import com.lyf.pojo.Employee;
import com.lyf.utils.PageModel;
import com.lyf.vo.CountVoByName;

import java.util.List;

public interface EmployeeService {
    //新增
    void add(Employee employee);

    //删除
    void delete(Integer id);

    //修改
    void update(Employee employee);

    //修改状态
    void updateStatus(Integer status , Integer id);

    //查询全部
    List<Employee> selectAll();

    //根据部门id查询员工数量
    List<CountVoByName> selectCountByDeptId();

    //根据职位id查询员工数量
    List<CountVoByName> selectCountByJobId();

    //根据专业查询员工数量
    List<CountVoByName> selectCountBySpeciality();

    //根据学历查询员工数量
    List<CountVoByName> selectCountByEducation();

    //根据民族查询员工数量
    List<CountVoByName> selectCountByRace();

    //根据省份查询员工数量
    List<CountVoByName> selectCountByProvince();

    //根据政治面貌查询员工数量
    List<CountVoByName> selectCountByParty();

    //根据id查询
    Employee selectById(Integer id);

    //根据姓名查询，判断员工是否已经建档
    Employee selectByname(String name);

    //分页条件查询
    List<Employee> queryEmployee(Employee employee, PageModel model);

    //分页条件总记录数查询
    int getTotalEmployeeCount(Employee employee);
}
